package com.kuang.jdbc;

import org.junit.Test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class jdbcTran {
    @Test
    public void test() throws Exception {
        //配置信息
//        String url="jdbc:mysql://localhost:8806/jdbc?useUnicode=true&characterEncoding=utf-8";
//        String username="root";
//        String password="123456";

        String url="jdbc:mysql://localhost:8806/jdbc?useSSL=true&UseUnicode=true&characterEncoding=utf-8";
        String username="root";
        String password="123456";

            //加载驱动
            Class.forName("com.mysql.jdbc.Driver");

            //连接数据库，代表数据库
            Connection connection = DriverManager.getConnection(url, username, password);

            //通知数据库开启事务,false开启
            connection.setAutoCommit(false);

            String sql="update account set money=money-100 where name='A'";
            connection.prepareStatement(sql).executeUpdate();

            //制造错误
//            int i=1/0;
            String sql2="update account set money=money+100 where name='B'";
            connection.prepareStatement(sql2).executeUpdate();

            connection.commit();//以上两条SQL都执行成功，代表提交事务完成
            System.out.println("提交成功");
        }
        //这里遇到了在IDEA中打开了一个操作数据库的终端，在里面开启了事务，但是没有提交，在此处写测试类开启事务，提交时会出现连接不上的情况

    }

